def calculate_bmi():
    while True:
        try:
            weight = float(input("请输入您的体重（kg）："))
            height = float(input("请输入您的身高（m）："))
        except ValueError:
            print("输入有误，请重新输入！")
            continue

        bmi = weight / (height ** 2)

        if bmi < 18.5:
            print("您的BMI指数为：{:.2f}，属于偏瘦".format(bmi))
        elif bmi < 24:
            print("您的BMI指数为：{:.2f}，属于正常".format(bmi))
        elif bmi < 28:
            print("您的BMI指数为：{:.2f}，属于偏胖".format(bmi))
        elif bmi < 30:
            print("您的BMI指数为：{:.2f}，属于轻度肥胖".format(bmi))
        elif bmi < 35:
            print("您的BMI指数为：{:.2f}，属于中度肥胖".format(bmi))
        else:
            print("您的BMI指数为：{:.2f}，属于重度肥胖".format(bmi))

        gender = input("请输入您的性别（男/女）：")
        if gender == "男":
            if bmi < 20:
                print("您的BMI指数过低，请注意健康！")
            elif bmi > 25:
                print("您的BMI指数过高，请注意健康！")
        elif gender == "女":
            if bmi < 19:
                print("您的BMI指数过低，请注意健康！")
            elif bmi > 24:
                print("您的BMI指数过高，请注意健康！")
        else:
            print("性别输入有误，请重新输入！")
            continue

        choice = input("是否继续计算（Y/N）？")
        if choice == "N":
            break

calculate_bmi()
